#pragma once

#include "include_gl.h"

class GLBuffer
{
private:
	// name must be a used buffer object name
	GLBuffer(GLuint name, GLenum target, GLsizeiptr size, bool immutable);

public:
	~GLBuffer();

	static GLBuffer* newMutable(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage);
	/*static GLBuffer* newImmutable(GLenum target, GLsizeiptr size, const GLvoid* data, GLbitfield flags);*/

	GLuint name;
	GLenum target;
	GLsizeiptr size;
	bool immutable;
};